Heuristically Creating Test Cases for Program Verification Systems
نویسندگان
چکیده
Abstract The correctness of program verification systems is of great importance, as they are used to formally prove that safetyand security-critical programs follow their specification. This correctness needs to be checked and demonstrated to users and certification agencies. One of the contributing factors to the correctness of the whole verification system is the correctness of the background axiomatization, which captures the semantics of the target program language. We present an optimisation framework for the maximization of the proportion of the axiomatization that is used (“covered”) during testing of the verification tool. We show how test cases for regression tests can be created based on existing ones, as the initial creation of test cases is a very time consuming process. Our study shows that the combination of different heuristics leads to a diverse set of test cases, which in turn increases the axiomatization coverage. This translates into a significant increase in trust in the program verification system.
منابع مشابه
Verification of the IBM RISC System/6000 by a Dynamic Biased Pseudo-Random Test Program Generator
Verification of a computer that implements a new architecture is especially difficult since no approved functional test cases are available. The logic design of the ISM RlSC System/SOOO" was verified mainly by a special1 developed random test program generator (RT PY G), which was used from the early stages of the design until its successful completion. APL was chosen for the RlSC System/SOOO R...
متن کاملModel-based test case generation for source code analyzers
Testing and verification are mandatory when it comes to creating quality software. In order to create a good testing environment, one needs to create a lot of test cases, and typically this is done by hand. This research will reduce the manual effort by creating a model-based test case generator for source code analyzers. Using this generator, creating a suite of test cases will become less eff...
متن کاملVerification-based software-fault detection
Software is used in many safetyand security-critical systems. Software development is, however, an error-prone task where a software developer tries to precisely formalize in a programming language their imprecise ideas about a program. Formal methods help to reduce this problem. These methods add another layer to the software development allowing to formalize and to check desired properties of...
متن کاملConformance Testing for Statecharts
We describe an approach to automatically generate test cases from object-oriented statecharts as they are used in the UML and supported by development tools such as I-Logics Rhapsody. Applying Tretmans’ approach to generate test cases for I/O automata from labeled transition systems, we consider a statechart as a specification of a system under test. Test cases generated from such a specificati...
متن کاملFormal Verification of Pure Production System Programs
Reliability, defined as the guarantee that a program satisfies its specifications, is an important aspect of many applications for which rule-based expert systems are suited. Executing rule-based programs on a series of test cases. To show a program is reliable, it is desirable to construct formal specifications for the program and to prove that it obeys those specifications. This paper present...
متن کامل